package cn.hchaojie.javase.day06;

public class Boss {
	// 如果参数是子类类型，就不能传父类对象进来
//	public void pay(Programmer p) {
//		System.out.println("发工资了：" + p.getSalary());
//	}
//
//	public void pay(Manager m) {
//		System.out.println("发工资了：" + m.getSalary());
//	}
//	
	// 如果参数是父类类型，可以传不同的子类类型进来
	public void pay(Employee e) {
		System.out.println("发工资了：" + e.getSalary());
		
		// 判断一个对象是否是某种类型 instanceof
		// 转型前要判断类型，否则的话会报ClassCaseException异常
		if (e instanceof Programmer) {
			((Programmer) e).workOvertime();
		}
	}
	
	public void hire(Employee e) {
		System.out.println(e.gender);		// protected，因为Boss和Employee在同一个包里面，所以可以直接访问
		// System.out.println(e.name);		name不可见，不能直接访问
		System.out.println(e.getName());
		
		System.out.println(e.onboard);		// 
	}
}
